﻿#ifndef XScale_P_H
#define XScale_P_H

#include "xscale.h"

QT_BEGIN_NAMESPACE

class XScalePrivate
{
public:
    XScalePrivate();
    ~XScalePrivate();

    /* Apperance Property */
    int mainScaleNumber;                               // 主刻度数
    int subScaleNumber;                                // 副刻度数

    double maximumRange;                               // 量程最大值
    double minimumRange;                               // 量程最小值

    int precision;                                     // 精确度,小数点后几位
    bool unitStringEnable;                             // 是否显示单位（默认：true，即显示）
    QString unitString;                                // 刻度值单位字符串
    QColor unitStringColor;                            // 刻度值单位颜色

    QColor mainScaleColor;                             // 主刻度颜色
    QColor baseScaleColor;                             // 刻度尺基础色
    QColor scaleValueColor;                            // 刻度值颜色

    ScaleChartDirection scaleDirection;         // 刻度尺方向
    bool scaleValueReverseOrder;                       // 刻度逆序选择（默认：false，即正序）

    QColor backgroundColor;                            // 刻度尺背景颜色
    QColor borderColor;                                // 刻度尺边框颜色

    /* Display Parameters */
    int borderRadius;                                  // 刻度尺边框圆角
    int borderWidth;                                   // 刻度尺边框宽度
    double margin;                                     // 边缘宽度
    double baseLineLength;                             // 基线长度
    double mainScaleLineLength;                        // 主刻度线长度
    double subScaleLineLength;                         // 副刻度线长度
    int totalScaleNumber;                              // 总刻度数
    double  divisionValue;                             // 分度值
    double scaleValueWidth;                            // 刻度值宽度
    double scaleValueHeight;                           // 刻度值高度

    double unitStringWidth;                            // 刻度值单位宽度
    double unitStringHeight;                           // 刻度值单位长度
    QPointF unitStringPoint;                           // 刻度值单位起始点

    QPointF baseLineStartPoint;                        // 基线起始点
    QPointF baseLineEndPoint;                          // 基线终止点

    /* Mouse Parameters */
    bool LeftmousePressed;                             // 鼠标左键点击标识
    QPointF mousePressPoint;                           // 鼠标点击点
};

QT_END_NAMESPACE

#endif // XScale_P_H
